-- @Author: 作者QQ2308873645
-- @Date:   2021-12-11 21:40:34
-- @Last Modified by:   作者QQ381990860
-- @Last Modified time: 2022-06-11 22:46:51
function 道具处理类:获取抽奖数据(id)
    self.发送信息={}
    self.发送信息 = 玩家数据[id].角色.抽奖
    发送数据(玩家数据[id].连接id,200966,self.发送信息)
end

function 道具处理类:开始抽奖(id)
    if 角色处理类:取可用道具格子(玩家数据[id],"包裹") ==0 then
        发送数据(玩家数据[id].连接id, 7, "#y/请在包裹栏留出一个空余的位置!")
        return true
    elseif #玩家数据[id].召唤兽.数据 >= 玩家数据[id].召唤兽.数据.召唤兽上限 then
        发送数据(玩家数据[id].连接id, 7, "#y/你当前可携带的召唤兽数量已达上限")
        return true
    elseif 玩家数据[id].角色.抽奖 <= 0 then
        发送数据(玩家数据[id].连接id, 7, "#y/你的抽奖次数为0，无法进行抽奖")
        return true
    else
        玩家数据[id].角色.抽奖 = 玩家数据[id].角色.抽奖 - 1
        local 总概率=f函数.读配置(ServerDirectory..[[配置文件\抽奖配置文件.txt]], "总概率随机数", "总概率随机数")+0
        local 抽奖物品 = {}
        local 抽奖概率 = {}
        local 抽奖起始数量 = {}
        local 抽奖结束数量 = {}
        local 物品 = {}
        local 概率 = {}
        local 起始数量 = {}
        local 结束数量 = {}
        local 抽奖几率 = math.random(1,总概率)
        local 给予物品
        local 抽奖宝宝数 = f函数.读配置(ServerDirectory..[[配置文件\抽奖宝宝配置.txt]], "奖品宝宝设置", "宝宝奖品总个数")+0
        local 抽奖物品总数 = f函数.读配置(ServerDirectory..[[配置文件\抽奖配置文件.txt]], "总概率随机数", "抽奖物品总数")+0
        local 数量 = 0
        for i=1,抽奖物品总数 do
            抽奖物品[i]=f函数.读配置(ServerDirectory..[[配置文件\抽奖配置文件.txt]], "奖品及概率", "物品["..tostring(i).."]")
            抽奖概率[i]=f函数.读配置(ServerDirectory..[[配置文件\抽奖配置文件.txt]], "奖品及概率", "概率["..tostring(i).."]")+0
            抽奖起始数量[i]=f函数.读配置(ServerDirectory..[[配置文件\抽奖配置文件.txt]], "奖品及概率", "起始数量["..tostring(i).."]")+0
            抽奖结束数量[i]=f函数.读配置(ServerDirectory..[[配置文件\抽奖配置文件.txt]], "奖品及概率", "结束数量["..tostring(i).."]")+0
            if 抽奖几率 <= 抽奖概率[i] then
               给予物品 = 抽奖物品[i]
               if 抽奖起始数量[i] ~= 0 then
                  数量 = math.random(抽奖起始数量[i],抽奖结束数量[i])
               end
               for a=1,抽奖宝宝数 do
                   if 给予物品 == "宝宝["..tostring(a).."]" then
                      local 宝宝造型=f函数.读配置(ServerDirectory..[[配置文件\抽奖宝宝配置.txt]], "奖品宝宝设置", "宝宝["..tostring(a).."]")
                      local 攻资=f函数.读配置(ServerDirectory..[[配置文件\抽奖宝宝配置.txt]], "奖品宝宝设置", "宝宝攻资["..tostring(a).."]")+0
                      local 体资=f函数.读配置(ServerDirectory..[[配置文件\抽奖宝宝配置.txt]], "奖品宝宝设置", "宝宝体资["..tostring(a).."]")+0
                      local 法资=f函数.读配置(ServerDirectory..[[配置文件\抽奖宝宝配置.txt]], "奖品宝宝设置", "宝宝法资["..tostring(a).."]")+0
                      local 防资=f函数.读配置(ServerDirectory..[[配置文件\抽奖宝宝配置.txt]], "奖品宝宝设置", "宝宝防资["..tostring(a).."]")+0
                      local 速资=f函数.读配置(ServerDirectory..[[配置文件\抽奖宝宝配置.txt]], "奖品宝宝设置", "宝宝速资["..tostring(a).."]")+0
                      local 躲资=f函数.读配置(ServerDirectory..[[配置文件\抽奖宝宝配置.txt]], "奖品宝宝设置", "宝宝躲资["..tostring(a).."]")+0
                      local 成长=f函数.读配置(ServerDirectory..[[配置文件\抽奖宝宝配置.txt]], "奖品宝宝设置", "宝宝成长["..tostring(a).."]")+0
                      local 临时资质={攻资=攻资 ,体资=体资 ,法资=法资 ,防资=防资 ,速资=速资 ,躲资=躲资,成长=成长}
                      local 等级 = f函数.读配置(ServerDirectory..[[配置文件\抽奖宝宝配置.txt]], "奖品宝宝设置", "宝宝等级["..tostring(a).."]")+0
                      local 类型 = f函数.读配置(ServerDirectory..[[配置文件\抽奖宝宝配置.txt]], "奖品宝宝设置", "宝宝类型["..tostring(a).."]")
                      local 技能数据 = f函数.读配置(ServerDirectory..[[配置文件\抽奖宝宝配置.txt]], "奖品宝宝设置", "宝宝技能["..tostring(a).."]")
                      local x = 分割文本(宝宝造型, ",")
                      local 造型数据 = {}
                      for n=1,#x do
                          造型数据[n] = x[n]
                      end
                      local 造型 = 造型数据[math.random(1,#造型数据)]
                      local a = 分割文本(技能数据, ",")
                      local 技能 = {}
                      for i=1,#a do
                          技能[i] = a[i]
                      end
                      玩家数据[id].召唤兽:创建召唤兽(造型,类型,临时资质,等级,技能)
                      发送数据(玩家数据[id].连接id, 7, "#y/你获得了一只#r/"..#技能.."#y/技能的#r/"..造型)
                      广播消息(9, "#hd/".."#S/(抽奖系统)".."#g/" .. 玩家数据[id].角色.名称 .. "#y/在抽奖系统中意外获得了#r/"..#技能.."#y/技能的#r/"..造型.."#"..88)
                      self:刷新抽奖数据(id)
                      return
                   end
               end
               if 给予物品 == "仙玉" then
                  角色处理类:添加仙玉(玩家数据[id],数量,"抽奖")
                  广播消息(9, "#hd/".."#S/(抽奖系统)".."#g/" .. 玩家数据[id].角色.名称 .. "#y/在抽奖系统中意外获得了#r/"..给予物品.."*"..数量.."#"..88)
                  self:刷新抽奖数据(id)
                  return
               elseif 给予物品 == "银子" then
                  角色处理类:添加银子(玩家数据[id],数量,"抽奖")
                  广播消息(9, "#hd/".."#S/(抽奖系统)".."#g/" .. 玩家数据[id].角色.名称 .. "#y/在抽奖系统中意外获得了#r/"..给予物品.."*"..数量.."#"..88)
                  self:刷新抽奖数据(id)
                  return
               elseif 给予物品 == "储备" then
                  角色处理类:添加储备(玩家数据[id],数量,"抽奖")
                  广播消息(9, "#hd/".."#S/(抽奖系统)".."#g/" .. 玩家数据[id].角色.名称 .. "#y/在抽奖系统中意外获得了#r/"..给予物品.."*"..数量.."#"..88)
                  self:刷新抽奖数据(id)
                  return
               elseif 给予物品 == "人物宝石" then
                  给予物品 = 取随机宝石()
                  道具处理类:给予道具(id,给予物品,nil,nil,数量)
                  广播消息(9, "#hd/".."#S/(抽奖系统)".."#g/" .. 玩家数据[id].角色.名称 .. "#y/在抽奖系统中意外获得了#r/"..给予物品.."*"..数量.."#"..88)
                  self:刷新抽奖数据(id)
                  return
               elseif 给予物品 == "宠物宝石" then
                  给予物品 = 取召唤兽随机宝石()
                  道具处理类:给予道具(id,给予物品,nil,nil,数量)
                  广播消息(9, "#hd/".."#S/(抽奖系统)".."#g/" .. 玩家数据[id].角色.名称 .. "#y/在抽奖系统中意外获得了#r/"..给予物品.."*"..数量.."#"..88)
                  self:刷新抽奖数据(id)
                  return
               elseif 给予物品 == "高级魔兽要诀" then
                  给予物品 = 取高级兽诀名称()
                  道具处理类:给予道具(id,"高级魔兽要诀",nil,给予物品)
                  广播消息(9, "#hd/".."#S/(抽奖系统)".."#g/" .. 玩家数据[id].角色.名称 .. "#y/在抽奖系统中意外获得了一本#r/"..给予物品.."*"..数量.."#"..88)
                  self:刷新抽奖数据(id)
                  return
               elseif 给予物品 == "特殊魔兽要诀" then
                  给予物品 = 取特殊兽诀名称()
                  道具处理类:给予道具(id,"特殊魔兽要诀",nil,给予物品)
                  广播消息(9, "#hd/".."#S/(抽奖系统)".."#g/" .. 玩家数据[id].角色.名称 .. "#y/在抽奖系统中意外获得了一本#r/"..给予物品.."*"..数量.."#"..88)
                  self:刷新抽奖数据(id)
                  return
               elseif 给予物品 == "光照万象" then
                  给予物品 = "光照万象"
                  道具处理类:给予道具(id,"特殊魔兽要诀",nil,给予物品)
                  广播消息(9, "#hd/".."#S/(抽奖系统)".."#g/" .. 玩家数据[id].角色.名称 .. "#y/在抽奖系统中意外获得了一本#r/"..给予物品.."*"..数量.."#"..88)
                  self:刷新抽奖数据(id)
                  return
               end
               if 数量 ~= 0 then
                  道具处理类:给予道具(id,给予物品,nil,nil,数量)
                  广播消息(9, "#hd/".."#S/(抽奖系统)".."#g/" .. 玩家数据[id].角色.名称 .. "#y/在抽奖系统中意外获得了#r/"..给予物品.."*"..数量.."#"..88)
               else
                  道具处理类:给予道具(id,给予物品)
                  广播消息(9, "#hd/".."#S/(抽奖系统)".."#g/" .. 玩家数据[id].角色.名称 .. "#y/在抽奖系统中意外获得了#r/"..给予物品.."#"..88)
               end
               self:刷新抽奖数据(id)
               return
            end
        end
        self:刷新抽奖数据(id)
    end
end

function 道具处理类:刷新抽奖数据(id)
    self.发送信息={}
    self.发送信息 = 玩家数据[id].角色.抽奖
    发送数据(玩家数据[id].连接id,200977,self.发送信息)
end